This invention relates to a method and device for estimating the load of a processor.
Streaming of multimedia content over the internet has become an increasingly common application in recent years. A wide range of multimedia applications, such as on-demand TV, live TV viewing, live video streaming, audio streaming, video conferencing, net meetings, video telephony, voice over internet protocol (VoIP) and many others rely on end-to-end streaming solutions. There is increasing demand for the streaming media to be played out at high quality.
High quality media usually requires a media source that can capture the media at high resolutions and frame rates (amongst other parameters). For example, many video cameras are now able to capture video in high definition (HD), 4K or even 8K resolution. Even greater resolutions are envisaged for future video applications. The raw data from such media sources is not suitable for transmission over the internet due to the high data rates. For example, HD video has a sustained data rate of over 100 MBps. The raw media data is therefore compressed before transmitting it over the internet.
Many codecs exist for compressing media data. Encoding the original media data reduces its data rate whilst maintaining a certain level of quality of the original source material. Encoding media requires significant processing capacity, especially when encoding high quality media. Processing capacity on a device is usually shared with other applications and high processing demand from other applications can lead to an increase in the processor load and a reduction in the available capacity for encoding the media. This increase in processor load may lead to delays in encoding and transmitting a media stream. Such delays can have undesirable effects such as delays in the playback of “real-time” media, packets not arriving at the playback device in a timely manner for playback, etc. There is, therefore, a need to estimate the load on a processor so that, for example, a media stream can be adapted to negate any effects caused by the load on the processor.